Micron Document
`:top
L'`F33f`_`[interface de programmation`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Interface_de_programmation]`_`f `!Java Message Service (JMS)`! permet d'envoyer et de recevoir des messages de manière `F33f`_`[asynchrone`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Asynchronisme]`_`f entre applications ou composants `F33f`_`[Java`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Java_(technique)]`_`f. JMS permet d'implémenter une architecture de type `F33f`_`[MOM`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Message-oriented_middleware]`_`f (message oriented `F33f`_`[middleware`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Middleware]`_`f). Un client peut également recevoir des messages de façon synchrone dans le mode de communication point à point.

L'API JMS permet aux applications Java de s'interfacer avec des intergiciels (middleware) à messages ou MOM. Les MOM permettent des interactions entre composants applicatifs dans un cadre faiblement couplé, asynchrone et fiable.

>>Contents

• `F0af`_`[Modèles de publication supportés`#mod-les-de-publication-support-s]`_`f
• `F0af`_`[Publication et abonnement`#publication-et-abonnement]`_`f
• `F0af`_`[Point à point`#point-point]`_`f
• `F0af`_`[Versions de l'API JMS`#versions-de-l-api-jms]`_`f
• `F0af`_`[Fournisseurs de service JMS`#fournisseurs-de-service-jms]`_`f
• `F0af`_`[Implémentation Open Source`#impl-mentation-open-source]`_`f
• `F0af`_`[Implémentations commerciales`#impl-mentations-commerciales]`_`f
• `F0af`_`[Liens externes`#liens-externes]`_`f

-─

>>Modèles de publication supportés

JMS permet l'échange de messages entre deux systèmes ou plus. Ce service supporte le modèle publication-abonnement (`F33f`_`[publish-subscribe`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Publish-subscribe]`_`f) et le modèle point à point.

>>>Publication et abonnement

Dans le modèle publication-abonnement, des entités s’inscrivent sur un topic pour recevoir des messages. En effet, il ne s'agit plus d'envoyer des messages sur une file (`*queue`*) mais sur un topic. Celui qui publie les messages et ceux qui les reçoivent ne se connaissent pas.

>>>Point à point

Pour le modèle point à point, le producteur publie les messages dans une file (queue) et le consommateur lit les messages de la file. Dans ce cas le producteur connaît la destination des messages et poste les messages directement dans la file du consommateur. Pour utiliser ce modèle, le consommateur doit invoquer la méthode receive() qui est bloquante

>>Versions de l'API JMS

• JMS 1.0.2b, juin 2001
• JMS 1.1, mars 2002
• JMS 2.0 (JSR 343), 20 mars 2013

>>Fournisseurs de service JMS

Pour utiliser l'API JMS il est nécessaire d'avoir un fournisseur de service qui gère les connexions, les sessions, les destinations et les messages. Il y a de multiples fournisseurs de service JMS :

>>>Implémentation Open Source

Articles sur les implémentations `F33f`_`[open-source`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Open_source]`_`f de JMS :

• Apache ActiveMQ (en)
• OpenJMS
• JBoss Messaging et HornetQ de `F33f`_`[JBoss`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=JBoss]`_`f
• `F33f`_`[JORAM`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=OW2_JORAM]`_`f, de `F33f`_`[ObjectWeb`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=ObjectWeb]`_`f maintenant `F33f`_`[OW2`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=OW2]`_`f
• Open Message Queue, de `F33f`_`[Sun Microsystems`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Sun_Microsystems]`_`f
• `F33f`_`[RabbitMQ`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=RabbitMQ]`_`f de Pivotal Software

>>>Implémentations commerciales

Articles sur les implémentations commerciales de JMS :

• `F33f`_`[Oracle WebLogic Server`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Oracle_WebLogic_Server]`_`f
• Oracle AQ
• `F33f`_`[SAP`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=SAP_(entreprise)]`_`f `F33f`_`[NetWeaver`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=NetWeaver]`_`f
• SonicMQ
• `F33f`_`[Tibco Software`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Tibco_Software]`_`f
• webMethods Broker Server
• webMethods Universal Messaging
• `F33f`_`[WebSphere MQ`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=WebSphere_MQ]`_`f
• FioranoMQ de Fiorano

Tous les `F33f`_`[serveurs d'applications`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Serveur_d'applications]`_`f `F33f`_`[Java EE`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Jakarta_EE]`_`f à partir de la version 1.4 doivent fournir un service JMS, ce service doit être accessible au travers de JCA (`F33f`_`[Java connector architecture`:/page/wikibook/entry.mu`zim=wikipedia_fr_all_nopic_2025-10.zim|entry_path=Java_Connector_Architecture]`_`f).

>>Liens externes

• Java Message Service (Oracle) (`*site commercial`*)
• JSR 914: Java Message Service (JMS) API (`*spécifications Java`*)
• JSR 343 : Java Message Service 2.0 (`*spécifications Java`*)
• Apache ActiveMQ
• OpenJMS

• Portail de l’informatique

`c`F0af`_`[↑ Back to top`#top]`_`f`a